Static Analysis for Logic-based Dynamic Programs
نویسندگان
چکیده
A dynamic program, as introduced by Patnaik and Immerman (1994), maintains the result of a fixed query for an input database which is subject to tuple insertions and deletions. It can use an auxiliary database whose relations are updated via first-order formulas upon modifications of the input database. This paper studies static analysis problems for dynamic programs and investigates, more specifically, the decidability of the following three questions. Is the answer relation of a given dynamic program always empty? Does a program actually maintain a query? Is the content of auxiliary relations independent of the modification sequence that lead to an input database? In general, all these problems can easily be seen to be undecidable for full first-order programs. Therefore the paper aims at pinpointing the exact decidability borderline for programs with restricted arity (of the input and/or auxiliary database) and restricted quantification. 1998 ACM Subject Classification F.4.1. Mathematical Logic
منابع مشابه
Flow Analysis of Dynamic Logic Programs
Research on flow analysis and optimization of logic programs typically assumes that the programs being analyzed are static, i.e. any code that can be executed at runtime is available for analysis at compile time. This assumption may not hold for ‘‘real’’ programs, which can contain dynamic goals of the form call(X), where X is a variable at compile time, or where predicates may be modified via ...
متن کاملتأثیر تمرین درمانی در آب بر تعادل ایستا و پویای سالمندان: مقایسه تمرینات اختلالی و غیراختلالی
Objectives: Falling is a main cause of mortality in elderly. Balance training exercises can help to prevent falls in older adults. According to the principle of specificity of training, the perturbation-based trainings are more similar to the real world. So these training programs can improve balance in elderly. Furthermore, exercising in an aquatic environment can reduce the limitations for ba...
متن کاملSlicing of Constraint Logic Programs
Abstract. Slicing is a program analysis technique originally developed for imperative languages. It facilitates understanding of data flow and debugging. This paper discusses slicing of Constraint Logic Programs. Constraint Logic Programming (CLP) is an emerging software technology with a growing number of applications. Data flow in constraint programs is not explicit, and for this reason the c...
متن کاملDi erential Logic Programming
In this paper we deene a compositional semantics for a generalized composition operator on logic programs. Static and dynamic inheritance as well as composition by union of clauses can all be obtained by specializing the general operator. The semantics is based on the notion of diierential programs, logic programs annotated with declarations that establish the programs' external interfaces.
متن کاملAn Improved Non-Termination Criterion for Binary Constraint Logic Programs
On one hand, termination analysis of logic programs is now a fairly established research topic within the logic programming community. On the other hand, non-termination analysis seems to remain a much less attractive subject. If we divide this line of research into two kinds of approaches: dynamic versus static analysis, this paper belongs to the latter. It proposes a criterion for detecting n...
متن کامل